#ifndef GY_CONCATSTRINGS_H
#define GY_CONCATSTRINGS_H

#include "GY_BasicsCalculators.h"

class GY_CONTROLLIBRARY_EXPORT GY_ConcatStrings : public GY_BasicsCalculators
{
    Q_OBJECT

public:
    explicit Q_INVOKABLE GY_ConcatStrings(const QString &guid,QGraphicsItem *parent = nullptr);
    ~GY_ConcatStrings(){};

private:
    /**
     * @brief initializationPropertyInfo 初始化属性信息
     */
    void initializationPropertyInfo();
    /**
     * @brief updateString1Capacity 更新字符串1的长度
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateString1Capacity(const QString &name, const QVariant &value);
    /**
     * @brief updateString1 更新字符串1
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateString1(const QString &name, const QVariant &value);
    /**
     * @brief updateString2Capacity 更新字符串2的长度
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateString2Capacity(const QString &name, const QVariant &value);
    /**
     * @brief updateString2 更新字符串
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateString2(const QString &name, const QVariant &value);
    /**
     * @brief updateOutputCapacity 更新输出字符串的长度
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateOutputCapacity(const QString &name, const QVariant &value);
    /**
     * @brief updateOutput 更新输出字符串
     * @param name 属性名称
     * @param value 属性值
     * @return 返回更新是否成功
     */
    bool updateOutput(const QString &name, const QVariant &value);
    /**
     * @brief setOutput 设置输出属性值
     */
    void setOutput();

};

#endif // GY_CONCATSTRINGS_H
